Ext.namespace('pages.p2p.upload.add');

pages.p2p.upload.add.Add = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.initUIComponents();
	pages.p2p.upload.add.Add.superclass.constructor.call(this);
};

Ext.extend(pages.p2p.upload.add.Add, Ext.Window, {

	initUIComponents : function() {
		

		this.form = new Ext.form.FormPanel({
					layout : 'column',
					region: 'center',
					height : 300,
					width : 350,
					labelAlign : 'right',
					autoScroll : true,
					border : false,
					frame : false,
					id : 'add_form',
					bodyStyle : 'padding:10',
					items : [{
								columnWidth : 1,
								height : 10,
								border : false
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											fieldLabel : '标题',
											xtype : 'textfield',
											name : 'TITLEA',
											anchor : '99%',
											allowBlank : false,
											id : 'TITLEA'
										}]
							}, 
//							{
//								columnWidth : 1,
//								layout : 'form',
//								border : false,
//								hidden : true,
//								items : [{
//											fieldLabel : '发布时间',
//											xtype : 'datefield',
//											name : 'SHOW_DATE',
//											anchor : '99%',
//											format : 'Y-m-d',
//											allowBlank : false,
//											id : 'SHOW_DATE'
//										}]
//							}, 
							{
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											fieldLabel : '上传人',
											xtype : 'textfield',
											name : 'OPER_USERID',
											anchor : '99%',
											value : parent.gyh,
											allowBlank : false,
											readOnly : true,
											id : 'OPER_USERID'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											fieldLabel : '上传时间',
											xtype : 'datefield',
											name : 'CREATE_DATE',
											anchor : '99%',
											format : 'Y-m-d',
											value : new Date(),
											readOnly : true,
											hideTrigger : true,
											allowBlank : false,
											id : 'CREATE_DATE'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											fieldLabel : 'URL',
											xtype : 'textfield',
											hideTrigger : true,
											allowBlank : true,
											name : 'URL',
											anchor : '99%',
											id : 'URL'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								hidden : true,
								items : [{
											fieldLabel : 'ATTID',
											xtype : 'textfield',
											name : 'ATTID',
											anchor : '99%',
											id : 'ATTID'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [ new Ext.form.ComboBox({
										fieldLabel : '排序数字',
										xtype : 'textfield',
										name : 'ORDER_NUM',
										id : 'ORDER_NUM',
										anchor : '99%',
										
										store : new Ext.data.SimpleStore({
											fields : [ 'VALUE', 'TEXT' ],
											data : [ [ '1', '1' ],[ '2', '2' ]
													,[ '3', '3' ],[ '4', '4' ]
												   ]
										}),
										valueField : 'VALUE',
										displayField : 'TEXT',
										hiddenName : 'SHZT_VALUE',
										triggerAction : 'all',
										mode : 'local',
										editable : false,
										selectOnFocus : true,
										allowBlank : false, 
										value : '1'
									}) ]
							}],
							tbar : [{
								text : '保存',
								iconCls : 'save',
								handler : this.onSave.createDelegate(this)
							}, {
								text : '关闭',
								iconCls : 'close',
								handler : this.onCancel.createDelegate(this)
							}]
					
				});
		this.fileForm = new Ext.form.FormPanel({
			layout : 'column',
			region: 'east',
			width :500,
			height:350,
			labelAlign : 'right',
			autoScroll : true,
			border : false,
			frame : false,
			fileUpload : true,
			id : 'file_form',
			bodyStyle : 'padding:10;border-left:15px solid #D4E1F2',
			items : [{
								columnWidth : 1,
								layout : 'form',
								border : false,
								hidden : true,
								items : [{
											fieldLabel : 'orgId',
											xtype : 'textfield',
											name : 'orgId',
											anchor : '99%',
											id : 'ORGID',
											value:parent.roleId
										}]
								},{
									columnWidth : .5,
									layout : 'form',
									border : false,
									items : [{
											fieldLabel : '上传照片',
											xtype : 'textfield',
											inputType : 'file',
											name : 'file',
											id : 'FILE',
											allowBlank : false,
											anchor : '99%'
									}],
						listeners : {
							'render' : this.uplodImg.createDelegate(this)
						}
					}, {
						columnWidth : 1,
						layout : 'form',
						border : false
					}, {
						columnWidth : 1,
						layout : 'form',
						border : false,
						items : [{
							xtype : 'box',
							name : 'IMGBOX',
							id : 'IMGBOX',
							anchor : '98%',
							autoEl : {
								
								tag : 'img',
								type : 'image',
								style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);margin-left:25px;',
								complete : 'off'
							}
						}]
					}],
					tbar : [{
								id : 'picMaxSize',
								iconCls : 'arrow_out',
								text : '放大',
								handler : this.boots.createDelegate(this, [50])
							}, '-', {
								id : 'picMinSize',
								iconCls : 'arrow_in',
								text : '缩小',
								handler : this.boots.createDelegate(this, [-50])
							}, '-', {
								id : 'view',
								iconCls : 'arrow_refresh',
								text : '旋转',
								handler : this.xuanZhuan.createDelegate(this,[90])
							}, '-', {
								id : 'reset',
								iconCls : 'reset',
								text : '重置',
								handler : this.onReset.createDelegate(this)
							}]
		});
		Ext.apply(this, {
					id : 'pro_add',
					title : '上传图片',
					border : false,
					layout:'border',
					style : {
						marginRight : 'auto',
						marginLeft : 'auto'
					},
					width : 800,
					height : 450,
					modal : true,
					items : [this.form, this.fileForm],
					listeners : {
						'render' : this.initData.createDelegate(this)
					}
					
				});
	},
	initData : function() {
	},
	onShowImg : function() { // 图片预览
		var formPanel = this.formPanel;
		var uploadImage = Ext.getCmp('FILE');
		uploadImage.on('change', function(e, t, eOpts) {
			// 上传图片类型,在前台的拦截
			var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
			// 得到选择的图片路径
			var path = uploadImage.getValue();
			if (path != null && !Ext.isEmpty(path)) {
				var url = "file://" + path;
				// 是否是规定的图片类型
				if (img_reg.test(url)) {
					var imageShow_box = Ext.getCmp('IMGBOX'); // 预览的图片框对象
					if (Ext.isIE) { // IE浏览器
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = Ext.BLANK_IMAGE_URL; // 覆盖原来的图片
						imageShow_box_dom.filters
								.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
					} else {
						var file = uploadImage.getEl().dom.files[0];
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = window.URL
								.createObjectURL(file);
					}
				} else {
					Ext.Msg.alert('提示', '请选择图片类型的文件！');
				}
			}
		}, this);
	},

	uplodImg : function() { // 图片预览
		var uploadImage = Ext.getCmp('FILE');
		uploadImage.on('change', function(e, t, eOpts) {
			// 上传图片类型,在前台的拦截
			var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
			// 得到选择的图片路径
			var path = uploadImage.getValue();
			if (path != null && !Ext.isEmpty(path)) {
				var url = "file://" + path;
				// 是否是规定的图片类型
			if (img_reg.test(url)) {
				Ext.getBody().mask("正在保存,请稍候...");
				Ext.getCmp("file_form").getForm().submit({
					method : 'post',
					url : ExtJ.getActionPath('upload/uploadFile.do'),
					reset : false,
					success : function(option, action) {
						var text = Ext.decode(action.response.responseText);
						Ext.getCmp('ATTID').setValue(text.FILE_ID);
						
						var imageShow_box = Ext.getCmp('IMGBOX'); // 预览的图片框对象
					if (Ext.isIE) { // IE浏览器
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = Ext.BLANK_IMAGE_URL; // 覆盖原来的图片
						imageShow_box_dom.filters
								.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
					} else {
						var file = uploadImage.getEl().dom.files[0];
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = window.URL
								.createObjectURL(file);
					}
						
						
						Ext.getBody().unmask(true);
					}.createDelegate(this)
				});
			} else {
					Ext.Msg.alert('提示', '请选择图片类型的文件！');
					return;
				}
			}
		}, this);
	},

	onSave : function() {
		var title = Ext.getCmp('TITLEA').getValue();
		var userid = Ext.getCmp('OPER_USERID').getValue();
		var ul = Ext.getCmp('URL').getValue();
		var attid = Ext.getCmp('ATTID').getValue();
		var paixu = Ext.getCmp('ORDER_NUM').getValue();
		var wj = Ext.getCmp('FILE').getValue();
		if (Ext.isEmpty(title)) {
			Ext.Msg.alert('提示', '标题不能为空!');
			return;
		} else if (title.length > 30) {
			Ext.Msg.alert('提示', '标题不能超过30字');
			return;
		}
		/*if(Ext.isEmpty(ul)){
			Ext.Msg.alert('提示','URL不能为空');
			return;
		}*/
		if(Ext.isEmpty(paixu)){
			Ext.Msg.alert('提示','排序框不能为空');
			return;
		}else{
			var shuzi =/^[1-4]{1}$/;
			if(!shuzi.test(paixu)){
				Ext.Msg.alert('提示','请输入1~4个位正整数');
				return;
			}
		}
		if (Ext.isEmpty(wj)) {
			Ext.Msg.alert('提示', '照片不能为空');
			return;
		} else {
			var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
			var url = "file://" + wj;
			if (!img_reg.test(url)) {
				Ext.Msg.alert('提示', '非图片类型的文件,不能提交');
				return;
			}
		}
		if(Ext.isEmpty(attid)){
			Ext.Msg.alert('提示', '照片没上传成功');
			return;
		}
		Ext.getBody().mask("正在保存,请稍候...");
		Ext.getCmp("add_form").getForm().submit({
					method : 'post',
					url : ExtJ.getActionPath('image/insertImage.do'),
					params : {
						title : title,
						userid : userid,
						ul : ul,
						attid : attid,
						paixu : paixu
					},
					reset : false,
					success : function(option, action) {
						var text = Ext.decode(action.response.responseText);
						Ext.getCmp('pro_add').close();
						if (text.add) {
							Ext.getCmp('grid').getStore().reload();
							Ext.Msg.alert('提示', '新增成功!');
						} else {
							Ext.Msg.alert('提示', text.msg);
						}
						Ext.getBody().unmask(true);
					}.createDelegate(this)
				});
	},
	
	
	/*
	 * @放大图片
	 * @缩小图片
	 * */
	boots : function(size) {
		var img = Ext.getCmp('IMGBOX');
		var imgSize = img.getSize();
		var oWidth = imgSize.width; // 取得图片的实际宽度
		var oHeight = imgSize.height; // 取得图片的实际高度
		if (oWidth <= 100 && size < 0) {
			return;
		}
		img.setWidth(oWidth + size);
		img.setHeight(oHeight + size / oWidth * oHeight);

	},
	
	xuanZhuan : function(size){
		var img = Ext.getCmp('IMGBOX').id;
		var imgdom = document.getElementById(img);
		var transform=imgdom.style.transform;
		if(transform=='rotate(90deg)'){
			size=180;
		}else if(transform=='rotate(180deg)'){
			size=270;
		}else if(transform=='rotate(270deg)'){
			size=360;
		}
		imgdom.style.transform = 'rotate('+size+'deg)';


		
	},
	
	
	
	/*
	 * 重置图片
	 * */
	onReset : function() {
		var img = Ext.getCmp('IMGBOX');
		var imgSize = img.getSize();
		var oWidth = imgSize.width;
		var oHeight = imgSize.height;
		img.setWidth('100%');
		var nWidth = Ext.getCmp('IMGBOX').getSize().width;
		img.setHeight(nWidth * oHeight/oWidth);
		
		
		var img = Ext.getCmp('IMGBOX').id;
		var imgdom = document.getElementById(img);
		imgdom.style.transform = 'rotate('+0+'deg)';
	},
	
	
	
	onCancel : function() {
		this.close();
	}
});